Skip to content

Fix 3.13.14 / 3.14.6 build failures#12

Merged
FeodorFitsner merged 1 commit into
mainfrom
fix-python-3.13.14-3.14.6-build
Jun 11, 2026
Merged

Fix 3.13.14 / 3.14.6 build failures#12
FeodorFitsner merged 1 commit into
mainfrom
fix-python-3.13.14-3.14.6-build

Conversation

@FeodorFitsner

Copy link
Copy Markdown
Contributor

Follow-up to the 3.13.13→3.13.14 / 3.14.5→3.14.6 bump (#11), which broke CI (run). Two independent root causes:

1. iOS 3.13 build — patch no longer applied

darwin/ios_patches/3.13/Python.patch back-ports CPython's Apple build tooling and was generated against 3.13.13. CPython 3.13.14 reworked the AC_CHECK_FUNCS block in configure/configure.ac (it moved dup3/pipe2 into the non-iOS conditional), so the patch failed:

1 out of 43 hunks failed--saving rejects to configure.rej
3 out of 36 hunks failed--saving rejects to configure.ac.rej

Regenerated the configure + configure.ac sections of the patch against 3.13.14, merging the back-port's tvOS/visionOS/watchOS AC_CHECK_FUNCS handling with 3.13.14's dup3/pipe2 move (both forced off across all four embedded Apple platforms). Everything else in the patch (the Apple/ tooling files) is byte-for-byte unchanged.

Validation: the regenerated patch applies with patch -p1 --force against a pristine 3.13.14 source tree with 0 rejects, and produces a tree identical to the reference.

2. Linux + Android — Setup Python failed

The version '3.13.14' with architecture 'x64' was not found for Ubuntu 24.04.

GitHub's hosted-runner Python manifest doesn't carry freshly-released patch versions yet. These jobs installed the full version; the host interpreter is only a build driver (the target Python is built from source / fetched as python-build-standalone), so only the minor version matters. Switched them to PYTHON_VERSION_SHORT — matching what the Darwin and Windows jobs already do. Also future-proofs against the manifest lagging on later bumps.

Not changed

  • 3.14.x uses CPython's native in-tree Apple tooling (no patch), so only fix Android build updated from Chaquopy #2 applies to 3.14.6.
  • The 3.12.13 / Windows job failures in the linked run were run cancellations, not real errors.

Two CI failures from the 3.13.13->3.13.14 / 3.14.5->3.14.6 bump:

1. iOS 3.13 build: ios_patches/3.13/Python.patch (Apple-tooling back-port)
   no longer applied to 3.13.14 — 3.13.14 reworked the AC_CHECK_FUNCS block
   in configure/configure.ac (moved dup3/pipe2 into the non-iOS conditional),
   so 1/43 configure and 3/36 configure.ac hunks failed. Regenerated the
   configure + configure.ac sections of the patch against 3.13.14, merging the
   back-port's tvOS/visionOS/watchOS handling with 3.13.14's dup3/pipe2 move.
   Validated: applies clean (patch -p1 --force, 0 rejects) to pristine 3.13.14.

2. Linux + Android jobs failed at "Setup Python": GitHub's hosted-runner
   manifest doesn't yet have 3.13.14/3.14.6, so installing the full version
   errored. The host interpreter is only a build driver (minor version is all
   that matters), so install PYTHON_VERSION_SHORT instead — matching what the
   Darwin and Windows jobs already do.
@FeodorFitsner FeodorFitsner merged commit 52bb8f9 into main Jun 11, 2026
31 checks passed
@FeodorFitsner FeodorFitsner deleted the fix-python-3.13.14-3.14.6-build branch June 11, 2026 17:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant